package main

import "errors"

// JSONParser json parser
type JSONParser struct{}

// NewJSONParser create new json parser
func NewJSONParser(config ParserConfig) (JSONParser, error) {
	return JSONParser{}, nil
}

func (jp JSONParser) parse(rdata rdata) (string, error) {
	prop, ok := rdata.GetProperty("sourceName")
	if !ok {
		return "", errors.New("json paser unmatch data")
	}
	switch prop := prop.(type) {
	case string:
		{
			if prop != "JSON" { // nolint
				return "", errors.New("json parser unmatch data")
			}
		}
	}
	data := rdata.Data()
	return string(data), nil
}
